x11: Always fall back to GLX on NVIDIA
authorEmmanuele Bassi <ebassi@gnome.org>
Mon, 10 May 2021 19:37:13 +0000 (20:37 +0100)
committerEmmanuele Bassi <ebassi@gnome.org>
Mon, 10 May 2021 19:44:35 +0000 (20:44 +0100)
At least until we can guarantee that EGL-X11 works fine there.

gdk/x11/gdkglcontext-egl.c

index a2b195fc776442fd476eb09dee1d59cdc326162d..1836f19057e77c077e7a93e4f8ee12c1f1aeeeb9 100644 (file)
@@ -572,6 +572,15 @@ gdk_x11_screen_init_egl (GdkX11Screen *screen)
   if (!eglInitialize (edpy, &major, &minor))
     return FALSE;
 
+  /* While NVIDIA might support EGL, it might very well not support
+   * all the EGL subset we rely on; we should be looking at more
+   * EGL extensions, but for the time being, this is a blanket
+   * fallback to GLX
+   */
+  const char *vendor = eglQueryString (edpy, EGL_VENDOR);
+  if (g_strcmp0 (vendor, "NVIDIA Corporation") == 0)
+    return FALSE;
+
   display_x11->have_egl = TRUE;
   display_x11->egl_version = epoxy_egl_version (dpy);